package com.song.dao;



import com.song.exception.adminException.AdminRegisterNameException;
import com.song.exception.adminException.AdminRegisterPhoneException;
import com.song.polo.Administrator;
import org.springframework.stereotype.Component;

import java.sql.Timestamp;


/**
 * @author song
 */
@Component
public interface AdministratorDao {

    /**
     * 用户登录
     *
     * @param administratorName 用户名
     * @param password          用户密码
     * @return true 登录成功
     */
    public Administrator login(String administratorName, String password);



/**
     * 更新登录时间与登录IP地址
     *
     * @param administratorName 用户名
     * @param ipAddress         登录IP地址
     * @param loginTime         登录时间
     */

    public void updateLoginTime(String administratorName, String ipAddress, Timestamp loginTime);


/**
     * 用户的注册 与新增
     *
     * @param administrator 用户注册信息
     * @return 1成功 2用户名已被注册  3手机号已被注册 4失败
     */

    public Integer register(Administrator administrator) throws AdminRegisterNameException, AdminRegisterPhoneException;


/**
     * 通过手机号查询用户
     *
     * @param administratorPhone 用户的手机号
     * @return 查询的用户对象
     */

    public Administrator selectByPhone(String administratorPhone, String administratorName);


}
